package com.bxait.toymail.cart.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/*
@description: 返回给前端的购物车信息 需要计算的属性，必须重写他的get方法，保证每次获取属性都会进行计算
@ClassName Cart
@author Chen
@create 2023-04-29 21:50
@Version 1.0
*/
@Data
public class Cart {

    List<CartItem> items;
    // 商品数量
    private Integer countNum;
    // 商品类型数量
    private Integer countType;
    // 商品总价
    private BigDecimal totalAmount;
    // 减免价格
    private BigDecimal reduce = new BigDecimal("0.00");


    public List<CartItem> getItems() {
        return items;
    }

    public void setItems(List<CartItem> items) {
        this.items = items;
    }

//    /*
//     * @param
//     * @==============History===============<br/>
//     * @Description //   获取购物车总数量
//     * @Date 2023/4/29 2023/4/29
//     * @Author < a href="2277411582@qq.com">chen</ a>
//     * @return java.lang.Integer
//     */
//    public Integer getCountNum() {
//        int count = 0;
//        // 总数量等于每一个购物项中的数量相加
//        if(this.items != null && this.items.size() > 0){
//            for (CartItem item : items) {
//                count += item.getCount();
//            }
//        }
//        return count;
//    }
//
//    public void setCountNum(Integer countNum) {
//        this.countNum = countNum;
//    }
//
//    /*
//     * @param
//     * @==============History===============<br/>
//     * @Description //   获取购物车类型数量
//     * @Date 2023/4/29 2023/4/29
//     * @Author < a href="2277411582@qq.com">chen</ a>
//     * @return java.lang.Integer
//     */
//    public Integer getCountType() {
//        int count = 0;
//        // 总数量等于每一个购物项中的数量相加
//        if(this.items != null && this.items.size() > 0){
//            for (CartItem item : items) {
//                count += 1;
//            }
//        }
//        return count;
//    }
//
//    public void setCountType(Integer countType) {
//        this.countType = countType;
//    }
//
//    /*
//     * @param
//     * @==============History===============<br/>
//     * @Description //   计算购物车总价
//     * @Date 2023/4/29 2023/4/29
//     * @Author < a href="2277411582@qq.com">chen</ a>
//     * @return java.math.BigDecimal
//     */
//    public BigDecimal getTotalAmount() {
//        BigDecimal amount = new BigDecimal("0");
//        // 1.遍历购物项
//        if(this.items != null && this.items.size() > 0){
//            for (CartItem item : items) {
//                BigDecimal totalPrice = item.getTotalPrice();
//                amount.add(totalPrice);
//            }
//        }
//        // 2、减去优惠总价
//        BigDecimal subtract = amount.subtract(getReduce());
//        return amount;
//    }
//
//    public void setTotalAmount(BigDecimal totalAmount) {
//        this.totalAmount = totalAmount;
//    }
//
//    public BigDecimal getReduce() {
//        return reduce;
//    }
//
//    public void setReduce(BigDecimal reduce) {
//        this.reduce = reduce;
//    }
}
